Administración de TLB por software

  1. El sistema operativo carga explícitamente las entradas del TLB.

  2. Cuando no se encuentra una página virtual en el TLB, en lugar de que la MMU se remira simplemente a las tablas de paginas para encontrar y obtener la referencia de página requerida, genera un fallo de TLB y deja que el sistema operativo se encargue del problema.

  3. Éste debe encontrar la pagina, eliminar una entrada del TLB, introducir la nueva y reiniciar la instrucción que falló.

    (Y desde luego, todo esto debe hacerse con unas cuantas instrucciones, porque los fallos de TLB podrían ocurrir con mucha mayor frecuencia que las fallos de página)

Resulta sorprendente que si el TLB tiene un tamaño razonable (digamos 64 entradas) para reducir la tasa de fallos, la administración por software del TLB es muy eficiente. La ganancia principal aquí es que la MMU es mucho más sencilla, lo que libera una cantidad considerable de área en el chip de la CPU para cachés y otras características que pueden mejorar el rendimiento.